package com.edu.exam.entity.curriculum.structure;

/**
 * 章节状态枚举
 * 所属模块：B-01-02 课程结构管理子模块
 * 对应设计文档：B-01-02-02-子模块类图设计.md
 *
 * 定义课程章节的状态类型，采用精简设计原则
 * - ACTIVE: 章节正常可用
 * - INACTIVE: 章节暂时不可用
 *
 * 编辑状态通过审计字段(createdBy, updatedTime)判断
 * 归档功能通过软删除(isDeleted)实现
 *
 * @author System
 * @version 1.0.0
 */
public enum ChapterStatusEnum {
    /**
     * 活跃状态 - 章节正常可用
     */
    ACTIVE("ACTIVE", "活跃", "#52c41a"),

    /**
     * 非活跃状态 - 章节暂时不可用
     */
    INACTIVE("INACTIVE", "非活跃", "#999999");

    private final String code;
    private final String statusName;
    private final String color;

    ChapterStatusEnum(String code, String statusName, String color) {
        this.code = code;
        this.statusName = statusName;
        this.color = color;
    }

    public String getCode() {
        return code;
    }

    public String getStatusName() {
        return statusName;
    }

    public String getColor() {
        return color;
    }

    /**
     * 根据代码查找枚举
     *
     * @param code 状态代码
     * @return 对应的枚举值，如果未找到返回null
     */
    public static ChapterStatusEnum fromCode(String code) {
        for (ChapterStatusEnum status : ChapterStatusEnum.values()) {
            if (status.getCode().equals(code)) {
                return status;
            }
        }
        return null;
    }
}